Apparatus and method for measuring the weight of items on a conveyor

ABSTRACT

An apparatus for measuring the weight of items on a conveyor includes a scale that generates a first signal corresponding to the weight of the items. A movable platform transports the items to the scale and generates a second signal corresponding to position of the items in relation to the scale. A dimensioner examines the items and generates a third signal representative of whether the items are singulated or nonsingulated. A processor receives the second and third signals and determines whether to associate the first signal with information stored in memory about a particular item based upon whether the particular item is singulated or nonsingulated.

The present application is a continuation of U.S. application Ser. No.11/501,585, filed Aug. 9, 2006 now abandoned, the entire disclosure ofeach of which is hereby incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates to conveyor systems and, moreparticularly, to conveyor systems in which items traveling on a conveyorare weighed.

BACKGROUND OF THE INVENTION

Generally, shipping companies determine an amount to charge for thetransport of customer packages based on a relatively limited number offactors, including the package's weight, dimensions and distance to theshipping destination. If the customer expects a package to be deliveredto the correct address, the customer is required to provide the shippingcompany with the correct destination, and there may be a relatively highdegree of confidence, therefore, in revenue based on shipping distanceand/or destination address. On the other hand, customers often will nothave ready access to accurate information regarding the dimensions andweight of the packages they ship.

Particularly with the increase in use of online resources, shippingcompanies often allow customers to provide the weight, dimension, anddestination of their packages prior to collection for shipment.Customers may provide such information through an Internet site or on apaper record attached to the package itself and then deposit the packagein an unattended drop-off container from which the carrier retrieves thepackage. Packages may also be shipped through third-party storefronts orcorporate shipping departments. The carrier may not check dimension andweight information for accuracy prior to collection. Thus, the revenuecollected for such packages may be understated due to the discrepancybetween the declared and actual weights and dimensions.

Systems are known that weigh and scan bar codes on packages in-motion ona conveyor system so that package weights can be compared againstdeclared weights. Such systems may include an in-motion scale under ashort section of moving conveyor disposed between an upstream mainsystem conveyor and a downstream main system conveyor and a laser basedbar code scanner located on the upstream or downstream main systemconveyor or over the scale. The system also includes a dimensioner, aprocessor and a tachometer. As should be understood in this art,dimensioners detect one or more dimensions of an item on a conveyor.Various types of dimensioners are known, and it should be understood bythose skilled in the art that dimensioners can be constructed in avariety of configurations, for example employing laser scanners thatproduce return signals describing the spatial configuration of an itempassing proximate the dimensioner.

The tachometer is coupled to the upstream main system conveyor so thatthe conveyor's movement causes the tachometer to output pulsescorresponding to the distance the conveyor moves and its speed. Thedimensioner is disposed along the conveyor at a known position relativeto the scale. When a package moving along the conveyor reaches thedimensioner, the dimensioner processor opens a package record,determines height, width and length, associates that data in the packagerecord, and outputs the dimension data to the system processor inassociation with tachometer data that corresponds to the package'slocation at the dimensioner. Upon receiving the dimensioner data, thesystem processor opens a package record and associates with the packagerecord the dimension and tachometer data received from the dimensioner.The system processor also sets an open read window variable and a closeread window variable for the barcode scanner, and an open read windowvariable and a close read window variable for the scale. The open readwindow variable for the scale is equal to the tachometer value for thedownstream-most point on the package, plus a known distance (intachometer pulses) between the dimensioner and a predetermined positionin the path of travel with respect to the scale. The close read windowvariable for the scale is equal to the tachometer value for theupstream-most point on the package, plus a known distance (in tachometerpulses) between the dimensioner and the predetermined position withrespect to the scale. The open read window variable for the barcodescanner is equal to the tachometer value for the downstream-most pointon the package, plus a known distance (in tachometer pulses) between thedimensioner and a predetermined position in the path of travel withrespect to the barcode scanner. The close read window variable for thebarcode scanner is equal to the tachometer value for the upstream-mostpoint on the package, plus a known distance (in tachometer pulses)between the dimensioner and the predetermined position with respect tothe barcode scanner.

The scale may have a generally planar top surface over which theconveyor belt passes. As a package moves over the scale, the packageweighs down onto the scale's top surface such that one or more loadcells depressed by the scale's top surface generate signals to theprocessor corresponding to the package's weight. The scale assembly hasa photodetector disposed along the short conveyor immediately upstreamfrom the scale. A processor on the scale monitors the photodetector'soutput signal and thereby determines when the package's front and backedges pass the photodetector. The scale also receives the tachometeroutput. By associating the passage of the package's front and back edgesby the photodetector with the tachometer values corresponding to thoseevents, the scale processor determines the package's length. The rate atwhich the tachometer outputs pulses to the scale determines how fast thepackage is moving through the path of travel, and this, along withpackage length, determines the time following its passage by thephotodetector at which the package will have been on the scale asufficient time for the scale to validly acquire the package's weight.The scale processor accordingly determines when valid weight data may beacquired for the package and acquires the weight data at that point.

The scale processor transmits weight data to the system processor when apackage reaches a predetermined point in the path of travel followingthe scale. More specifically, the scale processor knows when the frontedge of the package passes by the scale photodetector. After acquiringthe package's weight at a point based on the package's length and beltspeed, the scale processor holds the weight data until a tachometervalue the scale associates with the weight data based on thephotodetector signal accumulates to a point indicating that the frontedge of the package is at a predetermined point downstream of the scale.The scale processor then outputs the weight data to the systemprocessor.

The system processor relies on tachometer pulses to correctly associateweight data with a package record. The system processor determines theaccumulated tachometer value at the time the weight data is receivedfrom the scale processor. The open read window and close read windowscale variables for each package record correspond to the distancebetween the dimensioner and the predetermined point downstream from thescale. Thus, the system processor compares the tachometer valueassociated with the received weight data with the open read window andclose read window variables for the open package structures itmaintains. If the tachometer value is between the open read window scalevariable and close read window scale variable for any open packagerecord (because the scale processor transmits weight data when thepackage's leading edge reaches the predetermined point, the tachometervalue should be near the open read window scale variable), the systemprocessor assigns the weight data to that package record. If thetachometer value does not fall within the open window and close windowscale variables stored for any open package record, the weight data isnot assigned to a package record.

As should be understood in this art, a barcode reader may comprise alaser scanner that projects a plurality of laser lines on the belt, forexample in a series of “X” patterns. The scanner outputs a signal thatincludes barcode information reflected back from the laser lines and abarcode count, which indicates the position in the X patterns at whichgiven barcode information was seen. Thus, the barcode count provides thelateral position on the belt, and the longitudinal position with respectto the centerline of the X patterns, corresponding to the barcodeinformation. The barcode scanner assembly has a photodetector disposedalong the short conveyor immediately upstream from the X patterns. Aprocessor at the barcode scanner assembly monitors the photodetector'soutput signal and thereby determines when the package's front and backedges pass the photodetector. The barcode scanner also receives thetachometer output. By associating the passage of the package's front andback edges by the photodetector with the tachometer data, the barcodescanner processor determines when the package passes through the Xpatterns. The barcode scanner processor accordingly determines whenvalid barcode data may be acquired for the package, acquires the barcodedata during that period.

The barcode processor accumulates barcode data while a given packagepasses through the X patterns and transmits the accumulated barcode datato the system processor when the package reaches a predetermined pointin the path of travel following the barcode scanner. More specifically,the barcode scanner processor knows when the front edge of the packagepasses by the barcode scanner photodetector. After acquiring thepackage's barcode data over a period based on the package's length, thebarcode scanner processor holds the barcode data until a tachometervalue the barcode scanner processor associates with the barcode dataaccumulates to a point indicating that the front edge of the package isat the predetermined point downstream of the scanner. The predeterminedpoint is defined so that the longest package the system is expected tohandle can clear the scanner's X patterns. The barcode scanner processorthen outputs the barcode data to the system processor.

The system processor relies on tachometer pulses to correctly associatebarcode data with a package record. The system processor determines theaccumulated tachometer value at the time the barcode data is receivedfrom the barcode scanner processor. The open read window and close readwindow barcode variables for each package structure correspond to thedistance between the dimensioner and the predetermined point downstreamfrom the barcode scanner. Thus, the system processor compares thetachometer value associated with the received barcode data with the openread window and close read window barcode variables for the open packagestructures it maintains. If the tachometer value is between the openread window barcode variable and close read window barcode variable forany open package structure, the system processor assigns the barcodedata to that package record. If the tachometer value does not fallwithin the open window and close window barcode variables stored for anyopen package record, the barcode data is not assigned to a packagerecord.

Such known systems are operable with items that do not overlap withrespect to the conveyor's direction of travel. The scale photodetectordetects gaps between the items, and even where the gaps are short enoughthat there are first periods in which two items are simultaneously onthe scale, if there are second periods of time in which respective itemsare on the scale alone for a time sufficient to allow the scale tosettle, valid weight data may be acquired.

In the operation of conveyor systems processing non-overlapping items,it is known that the items may become overlapped in certaincircumstances, for example when a sudden increase in items received at areceiving station cause human operators to load items on the conveyor ata rate higher than that necessary to maintain item separation. If theitems become overlapped, multiple items may be on the scale when theprocessor receives weight data, and the weight data is thereforeunreliable and unusable. Thus, it is known to provide a switch thatdiscontinues the communication of weight data from the scale to theprocessor so that a human operator detecting an overlapped condition canmanually interrupt the weighing function.

It is known to dispose a dimensioner at a predetermined positionupstream from a barcode scanner within a conveyor system that carriesoverlapping items and that does not include a scale, where thedimensioner is configured to determine the position and orientation ofeach item, for example a package, on the conveyor belt and, based onexpected package shapes, whether packages are adjacent each other. Thedistance, and therefore the number of tachometer pulses corresponding tothe distance, between the dimensioner and the centerline of the barcodescanner's X pattern is known, and the dimensioner uses this distance todefine the four corners of each package as it relates to the position ofthe center of the scanner's X pattern.

The tachometer values are synchronized between the system processor andthe barcode scanner processor, so that both processors accumulate thesame tachometer value. The barcode scanner's processor constantlymonitors incoming barcode data and outputs the data as it is received,along with the accumulated tachometer value, a variable that identifiesthe particular leg, or scan line, of the X pattern in which the barcodewas read, and the relative barcode count, to the system processor. Thesystem processor subtracts from the tachometer value associated with thereceived barcode data a tachometer value corresponding to thelongitudinal offset represented by the barcode count, therebynormalizing the tachometer value to the centerline of the X pattern.Based on the adjusted tachometer value and the barcode's lateralposition, the system processor determines whether the barcode fallswithin the four corners of any package (accounting, as discussed above,for the longitudinal distance between the dimensioner and the barcodescanner), taking into consideration the package's height if the barcodewere to have been read on that package. As should be understood in thisart, package height determines the size of the X's in the X pattern seenby the barcode scanner, and the package height is therefore needed toaccurately determine the barcode's normalized tachometer value andlateral position. If, following adjustment for package height, thelocation of the barcode falls within the four corners of a package, thesystem processor assigns the barcode data to that package record. If thebarcode data does not match any open package record, the barcode data isnot assigned to a package record.

SUMMARY

The present invention recognizes and addresses the foregoingconsiderations, and others, of prior art constructions and methods.

These and/or other objects are achieved in a preferred embodiment of anapparatus for measuring the weight of items on a conveyor, including ascale that generates a first signal corresponding to the weight of itemsas they pass over the scale. A movable platform transports the items tothe scale and generates a second signal corresponding to a position ofthe items in relation to the scale. A dimensioner examines the itemstransported on the platform and generates a third signal representativeof whether the items are singulated or nonsingulated. A processoroperatively connected to the scale, the dimensioner, a memory and theplatform receives the second and third signals and determines whether toassociate the first signal with information about a particular itembased upon whether the particular item is singulated or nonsingulated.

In another preferred embodiment, an apparatus for measuring the weightof items on a conveyor includes a conveyor that moves the items in adirection in a path of travel. A scale is disposed in the path of travelso that the scale receives the items moving on the conveyor and outputsa first signal corresponding to a weight of items received by the scale.A dimensioner is disposed proximate the conveyor. The dimensioner has asignal source that outputs a second signal with which the items interactas the items move along the path of travel so that when a first iteminteracts with the second signal, the second signal carries informationcorresponding to at least one spatial dimension of the first item. Thedimensioner produces a third signal that includes the information. Aprocessor receives the first signal and the third signal and determines,based on the information, a location of a boundary of the first item inthe path of travel and relative to locations of boundaries of otheritems in the path of travel proximate the first item. The processordetermines, based on the location of the boundary of the first item inthe path of travel, when the first signal corresponds to receipt of thefirst item by the scale. The processor detects, based on the location ofthe boundary of the first item with respect to the locations of theboundaries of other items proximate the first item, a first condition inwhich the boundary of the first item overlaps, relative to thedirection, a boundary of another time that is received by the scale anda second condition in which the boundary of the first item does notoverlap, relative to the direction, the boundary of another item that isreceived by the scale. Upon determining that the first signalcorresponds to receipt of the first item by the scale, the processorassociates a weight defined by the first signal with a recordcorresponding to the first item based upon detection of the secondcondition and does not associate the weight defined by the first signalwith the record when the processor detects the first condition.

One preferred embodiment of a method for measuring the weight of itemsbeing moved on a conveyor in a direction in a path of travel includesproviding a scale disposed in the path of travel so that the scalereceives the items moving on the conveyor and outputs a first signalcorresponding to a weight of items received by the scale. At least onespatial dimension of a first item is determined. Based on the at leastone spatial dimension, a location of a boundary of the first item in thepath of travel, and relative to locations of boundaries of other itemsin the path of travel proximate the first item, is determined. Based onthe location on the boundary of the first item in the path of travel, itis determined when the first signal corresponds to weight of the firstitem. Based on the location of the boundary of the first item withrespect to the locations of boundaries of other items proximate thefirst item, first and second conditions are detected, where in the firstcondition the boundary of the first item overlaps, relative to thedirection, a boundary of another item that is received by the scale, andin the second condition, the boundary of the first item does notoverlap, relative to the direction, the boundary of another item that isreceived by the scale. Upon determining that the first signalcorresponds to receipt of the first item by the scale, a weight definedby the first signal is associated with a record corresponding to thefirst item based upon detection of the second condition but is notassociated with the record if the first condition is detected.

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate one or more embodiments of theinvention and, together with the description, serve to explain theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A full and enabling disclosure of the present invention, including thebest mode thereof directed to one of ordinary skill in the art, is setforth in the specification, which makes reference to the appendeddrawings, in which:

FIG. 1 is a schematic representation of a dynamic dimensioning andweighing system in accordance with an embodiment of the presentinvention;

FIG. 2 is a schematic representation of a dimensioner of a dynamicdimensioning and weighing system in accordance with an embodiment of thepresent invention;

FIGS. 3, 3A and 4 are schematic representations of a dynamicdimensioning and weighing system in accordance with an embodiment of thepresent invention;

FIG. 5 is a schematic representation of packages on a conveyor beltunder analysis of a dimensioner in an embodiment of the presentinvention;

FIG. 6 is a schematic representation of packages on a conveyor beltunder analysis of a dimensioner in an embodiment of the presentinvention; and

FIG. 7 is a schematic representation of packages on a conveyor beltunder analysis of a dimensioner in an embodiment of the presentinvention.

Repeat use of reference characters in the present specification anddrawings is intended to represent same or analogous features or elementsof the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Reference will now be made in detail to presently preferred embodimentsof the invention, one or more examples of which are illustrated in theaccompanying drawings. Each example is provided by way of explanation ofthe invention, not limitation of the invention. In fact, it will beapparent to those skilled in the art that modifications and variationscan be made in the present invention without departing from the scope orspirit thereof. For instance, features illustrated or described as partof one embodiment may be used on another embodiment to yield a stillfurther embodiment. Thus, it is intended that the present inventioncovers such modifications and variations as come within the scope of theappended claims and their equivalents. Additional aspects and advantagesof the invention will be set forth in part in the description whichfollows and, in part, will be obvious from the description, or may belearned by practice of the invention.

Referring to FIG. 1, a dynamic dimensioning and weighing system 10includes a conveyor system 12 that moves items (generallyrectangularly-cross-sectioned packages in the illustrated embodiments)along a path of travel and weighs the items and a component system 14adjacent to the conveyor system that tracks packages being moved by theconveyor system. Conveyor system 12 includes a number of rollers 16, anupstream main belt 24 a, a downstream main belt 24 b, a shortintermediate belt 24 c, respective beds 18 a and 18 b, a tachometer 20,and a scale 22 disposed beneath and in contact with intermediate belt 24c. Although in the illustrated embodiments the conveyor includes a belt,it should be understood that the conveyor can move the items through thepath of travel by means other than belts, for example driven rollers.

Rollers 16 are motor-driven rollers that move conveyor belts 24 a-24 cin a direction denoted by arrows 26 through their rotation over beds 18a and 18 b, which provide support to the belts, and scale 22. Forpurposes of the present discussion, the direction corresponding to thestart of conveyor system 12 is referred to as “upstream,” whereas thedirection in which conveyor belts 24 moves is referred to as“downstream.”

Tachometer 20 is beneath and in contact with the surface of upstreammain conveyor belt 24 a and rotates with belt 24 a as the belt moves inthe direction of arrows 26. As tachometer 20 rotates, it outputs asignal comprising a series of pulses corresponding to the conveyorbelt's linear movement and speed. Tachometer 20, and other devices thatprovide signals corresponding to the rate of movement of a conveyorbelt, from which the locations of items moving in a path of travel alongthe belt can be determined, should be understood by those of ordinaryskill in the art. In general, the number of pulses output by tachometer20 corresponds to the linear distance traveled by the belt, while pulsefrequency corresponds to the belt's speed. The number of tachometerpulses per unit of measurement defines the resolution of the tachometerand its ability to precisely measure the distance that the conveyor belthas moved. Tachometer 20 may be replaced by a shaft encoder,particularly where less accurate measurements are needed.

Scale 22 is located beneath and in contact with conveyor belt 24 c sothat packages being moved by the belt in the path of travel applypressure to the scale as they move over the scale. Scale 22 extendssubstantially across the path of travel so that any item carried by thebelt through the path of travel passes over the scale. The signal outputby the scale corresponds to the weight applied to the scale. In oneembodiment, scale 22 is a IM6000 in-motion scale, manufactured byFairbanks Scales, Inc. of Kansas City, Mo. Scale 22 is illustratedschematically in FIG. 1 as a single unit, but it should also beunderstood that the scale may be formed from several scales either inparallel and/or series along the length of conveyor system 12.Furthermore, where scale 22 is not part of an assembly having a discretebelt 24 c, scale 22 may be disposed under and in contact with acontinuous belt in place of separate belts 24 a, 24 b and 24 c. Ingeneral, the system operates in such a configuration (such as shown inFIG. 2) in the same manner as described below. For example, the systemand component processors perform the same functions and exchange thesame information. Thus, the single belt embodiment is not discussed infurther detail with respect to FIG. 1, and it should be understood thatwhile given embodiments described herein may have either a scale with aseparate belt or a scale that engages the main system belt, this is forpurposes of example only and that the present invention may encompasseither and other arrangements of belts, as well as other conveyors, invarious combinations of features. Various suitable scale configurationsare also described in more detail below.

Component system 14 includes a dimensioner 28, a plurality of barcodescanners 32, and a computer 36, all of which are attached to a frame 38.Frame 38 supports dimensioner 28 and at least one barcode scanner 32horizontally above conveyor belt 24 so that the beams of light emittedby the dimensioner and scanners (described below) intersect the topsurface of packages moved by the belt. Frame 38 also supports additionalscanners 32 vertically adjacent to conveyor belt 24 so that beams oflight emitted by these scanners intersect the sides of packages moved bythe belt. One example of suitable scanners include QUAD X laser barcodescanners manufactured by Accu-Sort Systems of Telford, Pa., although itshould be understood that cameras or other suitable barcode readerscould be used, depending on the needs of a given system.

Dimensioner 28 may be of any suitable type, for example a“time-of-flight” type dimensioner, a “triangulation” type dimensioner,or a camera. In the embodiment shown in FIG. 1, dimensioner 28 is atriangulation type dimensioner similar to those disclosed in U.S. Pat.Nos. 6,775,012, 6,177,999, 5,969,823, and 5,661,561, the entiredisclosures of which are incorporated by reference herein. With regardto these embodiments, dimensioner 28 comprises a light source disposedwithin the dimensions, such as a laser, and a rotating reflectordisposed within the dimensioner that produce a scanning beam (denoted inphantom at 40) that is directed down at conveyor belt 24 a. Scanningbeam 40 intersects belt 24 a at line 42 in a manner that is transverseto the belt's linear movement in the path of travel at a fixed anglewith respect to an axis normal to the belt's surface. Packages moving onbelt 24 a, such as package 62, intersect scanning beam 40, therebycreating an offset in the scanning beam in the y-direction.

Both conveyor belt 24 a and the packages thereon reflect light createdby the scanning beam back to the rotating mirror, which reflects lightto a line scan CCD or CMOS imager (not shown) within dimensioner 28.Because the rotating mirror reflects both the outgoing and reflectedlaser light, the mirror returns the reflected light to a constant x-axisposition, but the reflected light shifts in the y-directioncorrespondingly to the shift in line 42 caused by the height of apackage 62 and the angle at which the scanned laser beam intersects thebelt. Thus, the line scan CCD or CMOS imager is aligned in they-direction to thereby detect the return light's y-axis shift. Therotating mirror's angular position corresponds to the x-axis position ofany given height data point. Accordingly, dimensioner 28 generates asignal representative of the height of an object such as package 62across conveyor belt 24 a as described by the y-axis offset detected inscanning beam 40. The signal is also representative of the x-axispositions of the height data by association of that data with themirror's angular position. Based on the height data and correspondingx-axis data, the dimensioner processor (not shown) determines the crosssectional height profile an object on the belt and, by accumulating suchprofiles along the object's length, the object's three dimensionalprofile, as described in more detail below. Furthermore, because thedimensioner is disposed at a fixed position with respect to the belt,the dimension data defines the package's orientation on the belt. Givencertain assumptions regarding the package's height and/or otherdimensions appropriate to a given system, the dimensioner processor candetermine the state of the packages, i.e. whether packages aresingulated or non-singulated.

For purposes of this discussion, packages in a “singulated” line areplaced on the belt serially with spaces between the packages sufficientto allow packages to be weighed individually by scale 22. Anon-singulated group of packages occurs when the packages are placed onthe belt adjacent to, alongside and/or otherwise sufficiently physicallyclose to each other so that a given package cannot be weighedindividually by scale 22. For example, in FIG. 1, package 62 issingulated with respect to packages 58 and 60, but packages 58 and 60are non-singulated with respect to each other since they are partiallyside-by-side across the width of the belt. Packages 58 and 60 would alsobe considered non-singulated if the back end of package 58 and the frontend of package 60 were spaced apart such that neither would be isolatedon scale 22 as the packages pass over the scale for a sufficient time toallow the scale to acquire an accurate weight.

In another embodiment (not shown), dimensioner 28 is a “time-of-flight”type dimensioner that produces a scanning beam similar to scanning beam40 (FIG. 1). A time-of-flight type dimensioner may also include a lightsource, such as a laser beam, and a rotating reflector similar to thetriangulation type dimensioner described above with reference to FIG. 1.The scanning beam emitted by a time-of-flight type dimensioner, however,is projected perpendicularly onto conveyor belt 24 a (FIG. 1) at a rightangle transverse to the belt's movement. The beam is reflected by belt24 a and any packages moving on the belt back to receivers within thedimensioner. Based on the received reflected light and the time it takesto reach the detector, the dimensioner processor determines the heightof objects on the belt, the package's width and length dimensions, thepackage's orientation on the belt, and the package's state (singulatedversus non-singulated) with respect to other packages moving through thepath of travel on conveyor belt 24 a. Time-of-flight type dimensionersshould be known by those of ordinary skill in the art and are,therefore, not discussed in further detail. Examples of such“time-of-flight” dimensioner are CS900 and CS5200 dimensionersmanufactured by Mettler Toledo of Columbus, Ohio.

In yet another embodiment as shown in FIG. 2, dimensioner 28 (FIG. 1) isreplaced by a camera 66 disposed above a conveyor belt 24 in a mannersimilar to dimensioner 28 as described with reference to FIG. 1. Thecamera contains a line scan or area CCD or CMOS imager disposed withincamera 66, the field of view of which corresponds to the entire width ofconveyor belt 24. A light source disposed within camera 66 directs lighttoward conveyor belt 24 at the area directly under camera 66. Packagestransported by conveyor belt 24 reflect the light as they pass under thecamera. Camera 66 receives the light reflected by the packages andidentifies packages on conveyor belt 24 based on the contrast in lightbetween conveyor belt 24 and any packages on the belt. Camera 66transmits a signal corresponding to the contrast pattern of receivedlight, which can be used to determine the perimeter of the packagestraveling on belt 24. Given assumptions regarding package shape in thex- and y-directions as appropriate to a given system, the dimensionerprocessor determines from this information a package's state on theconveyor—i.e., whether the package is singulated or non-singulated withrespect to other packages. If the system does not include a mechanism todetermine the package height, the camera data may not provide anaccurate measurement of a package's length and width, but the state ofthe packages can generally be determined from the signal received fromcamera 66 because the camera data nonetheless describes packageperimeter shapes, and the processor is therefore capable of determiningwhether a sufficient gap exists between each pair of packages toestablish a singulated condition under the constraints of that system.Cameras containing CCD or CMOS imagers, or other devices capable ofdetecting light reflected from packages moved by conveyor system 12,should be well-known by those of ordinary skill in this art and are,therefore, not discussed in further detail. It should be appreciatedthat these types of cameras do not, in and of themselves, provide heightdata and are preferably used in instances where knowledge of thepackages' height is unnecessary or provided by other means.

One of ordinary skill in this art should recognize that otherdimensioning devices could be employed within the present invention, aslong as these devices are capable of determining at least whether itemson the conveyor are singulated or non-singulated based on therequirements of the system or of providing information from whichsingulation can be determined. Preferably, the dimensioner processor orthe system processor should be able to determine from the dimension datathe height, width and length of packages moved by conveyor system 12 aswell as the location and orientation of the package on the conveyor.This information can be used in turn to determine whether the packageson conveyor belt 24 are singulated or non-singulated. Notwithstandingthe type of dimensioner used in the system, the output signal generatedby the dimensioner preferably defines at least the boundary of thepackage and its location with respect to that of adjacent packages orsufficient data from which this can be determined. This informationdefines whether packages are singulated or non-singulated and thereforewhether the downstream scale is capable of associating an accurateweight measurement with each discrete package.

Referring again to FIG. 1, barcode scanner 32 emits a scanning beamdownward onto conveyor belt 24 generally along a line 54 perpendicularto the belt and scans the top of packages moved by conveyor belt 24downstream through line 54 for any barcodes. The scanning beam consistsof a series of laser-line X's allowing the scanner to read a barcodepositioned in any orientation. Barcode scanner 32 outputs a signalcorresponding to any barcode symbols read by the scanner. The barcodescanner processor outputs this data to the system processor, along witha variable that identifies the laser scan line (i.e. which leg in agiven X pattern) by which the barcode was read and a relative barcodecount that identifies the location at which the barcode was detected inthat laser scan line. Because the lateral position (i.e. in thex-direction) on the belt of each laser scan line segment is known, thebarcode count identifies the barcode's lateral position across theconveyor's width. The barcode count also provides the longitudinaloffset between the position at which the barcode is detected and line54. As described below, the relative barcode count is used to associatethe barcode information with a particular package on the conveyor belts24 a-24 c, in association with the height of the package.

It should be understood that any suitable, and preferablyomnidirectional, barcode reader (e.g. a laser scanner or a camera)capable of reading barcode symbols on the packages' top surface may beused. The construction and operation of such barcode readers are not,in-and-of-themselves, part of the present invention, and a more detaileddiscussion is therefore omitted. Moreover, those skilled in the artshould understand that other systems for reading data disposed onpackages, such as radio frequency identification tag readers andantennas for reading radio frequency tags, may be used in the presentsystem. Depending on the requirements of system 10, additional barcodescanners 32 may be placed on frame 38 to scan and read barcodes locatedon the packages' side or front surfaces or appearing in differentorientations on the packages as they are moved downstream by conveyorbelt 24.

Computer 36, which is operatively connected to tachometer 20, scale 22,dimensioner 28, barcode scanner 32 and a host system (not shown) usedfor inventory tracking and other purposes, is a general purpose computerthat includes a processor, memory, a storage device and other componentsthat should be understood. The structure of computers should bewell-known in the art and is, therefore, not discussed in more detail.Furthermore, it should be understood by one of ordinary skill in the artthat, although computer 36 is depicted as supported by frame 38horizontally above conveyor belt 24 in FIG. 1, the computer can beplaced almost anywhere within a facility as long as it is operativelyconnected to the above-listed components. Moreover, it should also beunderstood that computer 36 may be connected to the above components bya wired or wireless connection as long as the computer is able toreceive the signals transmitted by each component. In the alternative,computer 36 may also be a central computer that receives signals frommultiple component systems 14 placed throughout a facility. Stillfurther, it should be understood that the functions described herein asperformed by the processors located in the dimensioner, barcode scannerand scales could be performed by computer 36.

Computer 36 receives the signal transmitted by tachometer 20, whichcontains pulses generated by the tachometer relating to the downstreammovement of conveyor belt 24 a. As the pulses correspond to the belt'slinear movement, computer 36 uses the pulses to selectively track theposition of packages on conveyor belt 24 a. Since belt's 24 b and 24 crun at approximately the same speed as belt 24 a, computer 36 alsorelies on the signal from tachometer 20 to track packages on belts 24 band 24 c. Computer 36 extracts pulse data each time a signal istransmitted to the computer by tachometer 20 and maintains and updates aglobal tachometer value upon receipt of each signal. This globaltachometer value is a running count of tachometer pulses from a startpoint synchronized to the other processors in the system. It should beunderstood that the tachometer pulse may be received by computer 36either directly from the tachometer or indirectly by one or more of thedimensioner and scanner processors that use the tachometer data inconjunction with the signals generated by those devices. In either case,computer 36 uses the information from the tachometer to track theposition of packages carried by the system.

Because tachometer 20 produces a signal containing tachometer pulseshaving a known relationship to the movement of conveyor belt 24 a, andthese pulses are equivalent to the distance moved by the belt, therelative distances between fixed locations along conveyor system 12 canbe, and are, predefined in tachometer pulses. Computer 36 can initialize(set to 0) any point along conveyor system 12 with regard to tachometerpulses, thereby making that point a reference point. At any moment, allother locations along conveyor belt 24 can be defined relative to thereference point by adding (if the other location is downstream) orsubtracting (if the other location is upstream) the known distance intachometer pulses from the position of the other locations from thereference point.

For example, if a location on conveyor system 12 is initialized as thereference point and set to a value of 0, a location along conveyorsystem 12 in the path of travel downstream from the reference point by adistance equivalent to ten tachometer pulses would have a relativedistance value of 10, which is referred to herein as “RDV.” It should beunderstood by one skilled in the art that any location along the path oftravel can be chosen to be the reference point. For explanationpurposes, line 42 is chosen in the ensuing discussion as the referencepoint and, thus, is associated with an RDV of 0. One of ordinary skillin the art should also realize that the RDV of each fixed location alongconveyor system 12 discussed herein as a downstream reference line orpoint in relation to the reference point of line 42 is known by computer36 and stored in memory prior to the operation of system 10.

Computer 36 initiates package records, with which package information isthereafter associated as a package travels through system 10, based oninformation provided by dimensioner 28. Dimensioner 28 initiatesidentification of a given package when the package interrupts thedimensioner's scanning beam at line 42. More specifically, as thedimensioner receives reflected light from scanning beam 40 indicatingpresence of a height greater than zero (i.e. a height above the plane ofthe belt), the dimensioner processor populates a two-dimensional dataarray, the first dimension corresponding to the width of the conveyorbelt and the second to the relative length of packages moving along thebelt. The number of data points in an array line corresponds to thenumber of samples taken across the width of the belt, which is definedby the dimensioner's sampling rate. Height data for a given sample isstored in a cell in the array. Height values correspond to the verticalaxis indicated as the z-axis (denoted at 84 in FIG. 1), and the locationat which the height value was received with respect to the conveyor'swidth corresponds to the horizontal axis indicated as the x-axis(denoted at 80 in FIG. 1). The dimensioner processor begins to create athree-dimensional model of each package with the accumulation of thesearray data points over a period of time. Each line of array data isaccrued in the direction corresponding to the conveyor's linear movementindicated as the y-axis (denoted at 82 in FIG. 1). The dimensioner'sresolution in the x direction is determined by the speed of thedimensioner's rotating mirror and its sampling rate, and in the ydirection by mirror speed and belt speed.

As described above, the dimensioner creates scanning beam 40 bydirecting a point source at a rotating mirror so that the resultant beamdirected to the belt is effectively a scanned beam of light across thewidth of the belt. For purposes of this discussion, a scan representsthe capture of data across the belt's width for a particular position ofthe package along y-axis 82. A scan extends entirely across the belt inthe direction of x-axis 80, and so each scan in each package data arrayincludes the same number of data points. The number of data pointsrepresentative of the length of a given package, however, is determinedby the number of scans taken along y-axis 82 in which the packageintersects a portion of the scanning beam. Consequently, as long as someportion of a package intersects the dimensioner's light beam, heightvalues are stored in the array at a corresponding x- and y-axis arraycell. Every location in the array that has a height value greater thanzero corresponds to a position at which the package is present, and thedimensioner processor uses this data to define the package's perimeterand the location of this perimeter on the conveyor belt.

By way of analogy, consider a piece of graph paper broken into aplurality of squares across the width and length of the paper andaligned so that rows of squares extend transversely across the belt inthe x-direction and columns extend longitudinally in the y-direction.Each square represents a data point where height information may bestored. The width of the graph paper is proportional to the width of theconveyor belt. At each point across the belt where a package interceptsthe dimensioner's scanning beam, non-zero height data is entered into acorresponding “box” on the “graph paper,” along with the lateralposition at which the height data was read as determined by therotational position of the dimensioner mirror and the longitudinalposition at which height data was read, defined by the global tachometervalue at that time. Once the package moves past the dimensioner, thearray is filled with data, and the boxes containing height informationcollectively define the package's two dimensional footprint. The valuefor the height at each point provides the third dimension of thepackage. Thus, each data array is representative of a portion of theconveyor belt on which a package is disposed.

The dimensioner processor retrieves from its memory the dimensioner'sRDV, which is determined by the location at which the dimensioner'sscanning beam intersects conveyor belt 24. Since the scanning beamintersects conveyor belt 24 at line 42 (the assumed reference point forthis explanation), the dimensioner's RDV is 0. The dimensioner processorcreates a space in its memory to store the three-dimensional array ofeach package and assigns an “initial tachometer value” variable to eachdata cell in the array as the height data is stored. Each point'sinitial tachometer value is set to the system global tachometer value(which is accumulated by the dimensioner processor from a synchronizedvalue provided by the system processor) minus the dimensioner's RDVvalue (in this instance, zero).

In operation, packages, such as packages 58, 60, and 62, are loaded onconveyor belt 24 a upstream from component system 14. Rollers 16 rotateto move conveyor belt 24 a and packages 58, 60, and 62 in the directionof arrows 26 downstream over bed 18. When package 62 reaches line 42 andinterrupts dimensioner scanning beam 40, the dimensioner processorcalculates height and stores the data in the correspondingtwo-dimensional data array.

The dimensioner processor sequentially examines each line of array datarepresentative of a scan across the width of the belt (i.e. in thex-direction), starting at one edge of the belt and moving toward theother. Assuming a condition in which the processor does not presentlydetect the presence of a package (e.g. either having detected no-nonzeroheight since starting or having detected no non-zero height sincedetecting the end of a previous package), if a point in the array alongx-axis 80 has a height value (z-axis 84) greater than zero, and thecorresponding point in the previous array line having an identicalx-axis value had a height of zero, the dimensioner processor creates anew package data structure within its memory indicating the presence ofa new package.

The dimensioner processor initially assigns all subsequent arraypositions to that package data structure until a package end isdetected. For example, and referring to FIG. 5, dashed lines 68 a, 68 b,68 c, 68 d, 68 m, 68 n and 68 o represent data points in sequentialscans extending across the x-axis. It should be understood that scansoccur between scans 68 d and 68 m but are omitted for purposes ofclarity and that the resolution of the scans is greater than indicatedin the Figures. Assuming scan 68 a occurs in a condition in which nopackage data structure is open, the dimensioner processor opens a newpackage data structure upon detecting a non-zero height at 70 in scan 68b, after having detected a zero height at the same x-axis position inscan 68 a.

The dimensioner processor thereafter assigns to the package datastructure all height data, whether zero or non-zero, in scan 68 b, 68 c,68 d and later scans. Note that because a package structure is open whenthe computer detects a transition from zero to non-zero heights (e.g.,at point 72) for which the x-axis position in the previous scan had azero height, the dimensioner does not open a new package structure. Upondetecting a scan 68 o having all zero values, the dimensioner processorcloses the package structure, determines the package's perimeter,assesses whether multiple packages are present, assigns array data formultiple packages to respective package structures, and outputs thepackage structure(s) to system computer 36. The next detected non-zerovalue begins a new package structure, and the process repeats.

The assignment of the global tachometer value (minus the constant RDV)to a given point in the package structure within the location of thepackage defines the location of that point in the path of travel in thisexample because, as described below, the system defines locations of thevarious system components in the path of travel with respect to eachother in terms of tachometer data. In combination with the lateralposition information, the tachometer data also defines the location ofthe package boundaries with respect to each other.

The dimensioner processor distinguishes between or among multiplepackages in an array by analysis of one or more boundaries of thepackages, for example a perimeter of the packages in the plane parallelto the belt. In a preferred embodiment, system 10 is used with conveyorlines expected to carry rectangular-shaped packages preferably having arelatively consistent height across the package top. The dimensionerscans the belt for height data as described above and, upon closing thepackage structure, the processor examines each lateral scan andidentifies every series of consecutive points having a generally uniformnon-zero height. As should be understood in this art, predictableirregularities in the box surface, e.g. depressions, loose tape ordeformations in the package material, provide less of a transition thana box edge, and the algorithm therefore includes filters to ignore suchirregularities in defining the segments. If an irregularity is beyondthese predicted parameters, however, the dimensioner processor sets aflag in the package record to notify the system processor that validdimension data was not obtained. Computer 36 then does not assign weightdata to the corresponding package structure maintained by computer 36.For example, if computer 36 receives package data with such an errorsignal, the computer may set up a package structure but designate thepackage structure as closed, or with an error flag, so that weight andbarcode data are not assigned to the package structure.

Still referring to FIG. 5, uniform non-zero segments occur at points 70and 71, and between points 73/75, 72/77, 79/81 and similar pairs ofpoints (not shown) in the intermediate scans. The processor thenidentifies and stores the array position (i.e. the x-axis positiondefined by the dimensioner mirror's rotational position and the y-axisposition defined by the initial tachometer value) of each segmentendpoint (i.e. points 70, 71, 72, 73, 75, 77, 79, 81 and endpointsassociated with segments in the intermediate scans). Due to thedimensioner processor's sampling rate, the endpoints do not preciselycorrespond to the package edges, but they do generally follow the edges,and the processor therefore examines the group of endpoints andidentifies endpoints at which the alignment of sequential endpointschanges to such a degree as to indicate a package corner. Havingidentified all corners, the processor then locates each pair of cornerpoints between which extends a group of generally aligned edge pointsand executes a line-fit algorithm to such edge points to define thepackage edge extending between the pair of corner points. The processorlooks for any two pair of parallel lines that enclose a space. If theprocessor finds such lines, thereby identifying a discrete package, thedimensioner processor outputs to system computer 36 the array datapoints (i.e. height, x-axis position and initial tachometer value) inthe present package structure that are bounded by the lines. It shouldbe understood that line-fit algorithms may be defined that filter foraberrations in edge structures, such as loose tape or indentions, thatmay be predictable in a given system. As such algorithms should beunderstood, they are not described in further detail herein. If anirregularity in the edge lines is beyond the filters' predictableparameters, or if the algorithm is otherwise unable to define two pairof parallel lines that enclose a space, the dimensioner processor sets aflag in the package record to notify the system processor that validdimension data was not obtained. Computer 36 then does not assign weightdata to its corresponding package structure.

Thus, system computer 36 receives a series of data points, eachincluding a height value, an initial tachometer value, and a scanposition value that identifies the lateral position at which the heightvalue occurred on the belt (i.e. in the x-direction).

In another preferred embodiment, the dimensioner does not send tocomputer 36 all array data associated with a package structure butrather outputs to the system computer only the height, initialtachometer values and scan position values of the package corners. Asdescribed below, computer 36 needs to know only the extent of thepackage's position in the belt's longitudinal (y axis) and, depending onthe embodiment, transverse (x axis) directions in order to determinewhether and how to acquire package weight. Since, in the presentembodiment, the conveyor carries rectangular packages, the cornersdefine package's perimeter, and thus the perimeter corner information issufficient without data otherwise describing the package's edges orinterior area, although it should be understood that edge or other datamay be provided when the system is used to process items withdifferently-shaped perimeters. Height data for the corner points issufficient to describe the package's height, as it is assumed thepackage has a uniform height within its perimeter, although it should beunderstood that height data itself may be omitted, for example where thehost computer system does not rely on height in confirming properinvoicing. The dimensioner preferably calculates the package's length,height and width and includes this data in the information to the systemcomputer.

The algorithm identifies multiple packages proximate each other.Referring to FIG. 6, for example, and assuming the system starts from acondition in which no package structure is open, the dimensionerprocessor opens a new package structure upon detecting point 70 in scan68 b and thereafter identifies corner points 70, 71, 74, 83, 85, 87, 89and 91, in the same manner as described above with respect to FIG. 5.Having identified all corners, the processor then locates each pair ofcorner points between which extends a group of generally aligned edgepoints and executes a line-fit algorithm to such edge points to definethe package edge extending between the pair of corner points. In theexample shown in FIG. 6, the processor finds groups of parallel linesthat enclose two separate spaces, respectively corresponding to packages64 and 66. The dimensioner processor creates, and outputs to systemcomputer 36, two separate package structures corresponding to the twodiscrete enclosed spaces, each package structure including the heightvalue, initial tachometer value and scan position value of each datapoint enclosed with the package structure's respective space. Again, inalternatively preferred embodiments, the dimensioner processor outputsto the system computer only the height, initial tachometer and scanposition values of the corners for each package structure.

Referring to FIG. 7, and assuming packages 64 and 66 are of differentheights and that the system starts from a condition in which no packagestructure is open, the dimensioner processor opens a new packagestructure at point 70 in scan 68 c and thereafter identifies cornerpoints 70, 71, 74, 83, 85, 87, 89 and 91, as described above withrespect to FIGS. 5 and 6. Because packages 64 and 66 are of differentheights, the algorithm identifies edge points between corners 85 and 87.The processor locates each pair of corner points between which extends agroup of generally aligned edge points and executes a line-fit algorithmto such edge points to define the package edge extending between thepair of corner points. Even though edge lines can be defined betweencorners 70/87 and 87/85, these edge lines do not individually combinewith any other one parallel line to enclose a space with another pair ofparallel lines, but because the combination of these edge lines itselfcomprises a line and opposes a parallel line to enclose a space(corresponding to package 64) along with another pair of opposingparallel lines, the algorithm defines a line between corners 70 and 85.The processor identifies the four lines enclosing package 66 in asimilar manner and then creates, and outputs to system computer 36, twoseparate package structures corresponding to the two discrete enclosedspaces, as described above.

Note that because packages 64 and 66 are aligned precisely so that thepackages' front and back edges are aligned transversely across the belt,the system sees no edge points between corners 70/83, 74/87, 89/91 and85/71 (a slight cant of the scan lines arising from the belt'slongitudinal movement while the scan occurs is ignored for purposes ofexplanation). It should be understood, however, that the processor'salgorithm may recognize such a condition based on the position of lines83/71, 70/85, 87/91 and 74/89 and therefore fit lines between corners70/83, 74/87, 89/91 and 85/71. Furthermore, if boxes 64 and 66 are ofthe same height, the processor may not see a height between corners87/85, but it should be understood that the processor's algorithm canrecognize such a condition based on the position of the other linesegments to determine the positions of two sets of two pairs of parallellines that enclose respective spaces. In the event packages 64 and 66are of the same dimensions (including height) and are aligned with eachother precisely so that the packages' front and back edges arecontinuous, it is possible that the dimensioner would detect thecombination of the two packages as a single package, but such anoccurrence should be rare in most instances.

As described above, because the array points in the x-axis scanscorrespond to lateral positions on belt 24 with respect to the items'path of travel, the stored array data in each package structureidentifies each array value's (or each corner value's) x-axis positionand initial tachometer value. Thus, the package structure defines thefootprint of each package on the conveyor. It should be understood,however, that dimensioning algorithms are known in the art, and thoseskilled in the art should recognize that the procedure described hereinis provided for purposes of example and explanation and that othermethods could be utilized.

When computer 36 receives a new package data structure from thedimensioner, it creates a corresponding package data structure in itsmemory and compares the new package's position on the belt with theposition of packages in all open (i.e. corresponding to packages beingpresently carried by the conveyor between the dimensioner and the scale)package structures in the system. Although the comparison is made withall open package structures in the presently described embodiments, itshould be understood that other measures of proximity among packagescould be used. If any data point in the new package structure (or in thepackage perimeter described by the data in the new package structure)has an initial tachometer value equal to the initial tachometer value ofany point in any other open package structure (or the perimeterdescribed by the data in that package structure), the correspondingpackages are laterally adjacent to each other at least in part. Suchpackages are considered non-singulated in this embodiment, and computer36 creates a non-singulated variable within both the new package datastructure and the laterally adjacent structure to show that thecorresponding packages are moving downstream on conveyor belt 24 in anon-singulated manner, such as packages 58 and 60 in FIG. 1. Thisnon-singulated variable is a unique identifier indicating which packagesare in a non-singulated group of packages.

Whether a package is determined to be non-singulated can also beaffected by the longitudinal distance between two packages. For example,if the distance between two packages is shorter than the time needed forscale 22 to settle with a given package disposed on the scale, then,even though the packages do not overlap with respect to the direction oftravel, the data structures for those packages are flagged asnon-singulated since the scale's settlement time would not allow for anaccurate measurement of the package's weight. Therefore, if the initialtachometer value of the most downstream data point in the new packagestructure is within a predefined difference (defined in tachometerpulses) from initial tachometer value of the most upstream data point inany other open package structure such that the corresponding packagescould not be sufficiently isolated on the scale to obtain a validweight, computer 36 flags both data structures as non-singulated. Thepredetermined minimum distance requirement can be programmed withinsystem 10, allowing it to be changed when the system's capability orrequirements change. One skilled in the art should appreciate that thepredetermined minimum distance can vary depending on the configurationof the devices used in conjunction with system 10, such as scale 22.

The system processor sets in the package record for each package an openread window variable and a close read window variable for the scale. Theopen read window variable for the scale is equal to the tachometer valuefor the downstream-most point on the package, plus a known distance (intachometer pulses) between the dimensioner and a predetermined positionin the path of travel with respect to the scale. The close read windowvariable for the scale is equal to the tachometer value for theupstream-most point on the package, plus a known distance (in tachometerpulses) between the dimensioner and the predetermined position withrespect to the scale. The predetermined scale position (which can beconsidered a scale RDV) is discussed in more detail below.

Still referring to FIG. 1, a package leaving the dimensioner movesdownstream on conveyor belt 24 a until reaching line 54, at whichbarcode scanner 32 scans the top of the package. A control processor inbarcode scanner 32 continuously parses the signal, extracts any barcodedata read from the package's top surface, and associates the extracteddata with a variable identifying the laser scan line (i.e. the leg ofthe laser X pattern) by which the barcode data was read, the relativebarcode count (i.e. the position in the identified scan line in whichthe barcode was read), and the accumulated tachometer value (tachometervalues are accumulated by the barcode scanner processor from asynchronized value provided by the system processor).

System computer 36 receives the data from the barcode processor andsubtracts from the barcode data's accumulated tachometer value thelongitudinal offset defined by the barcode count and the RDV associatedwith the barcode scanner (i.e. the distance in tachometer pulses betweenlines 51 and 42). That is, the system computer effectively shifts thebarcode data's longitudinal position back, as if the barcode had beenread at dimensioner line 42. Based on the barcode's adjusted tachometervalue and its lateral position (as defined by the laser scan line andlateral component of the relative barcode count), the system processordetermines whether the barcode can fall within the four corners of thepackage defined by any open package structure, or any open packagestructure not flagged as having erroneous dimension data. As describedabove, and as should be understood in this art, the width and length ofthe X's in the X patterns seen by the barcode scanner depend on theheight of the package from which the X's are reflected, and the packageheight is therefore needed to accurately determine the barcode'snormalized tachometer value and lateral position. That is, indetermining whether a barcode falls within the area of a given package,the system processor uses a ray tracing algorithm to properly define thebarcode's position on that package, given the package's height. It ispossible for this process to indicate the barcode is located on twopackages, and in this event, the system may assign the barcode data tothe package having the greater height or assign the barcode data toneither package. Otherwise, if the system processer determines that thebarcode is located on one package, the processor assigns the barcodedata to the package structure corresponding to that package. Barcodedata that does not correspond to the position of an open packagestructure is not assigned to a package structure.

Alternatively, the dimensioner or the system processor increases thetachometer values of the four corners of each open package structure bythe barcode reader's RDV, and the system processor does not adjust thetachometer value of received barcode data by the RDV. The systemprocessor then compares the barcode reader position with the adjustedpackage positions in a manner similar to that discussed above.

Packages, such as package 58 and 60, continue to be moved by conveyorbelts 24 a-24 c and may intersect other scanning beams, such as the beamdenoted by numeral 56, from other scanners 32 if present. Computer 36has the RDV of each such barcode scanner and associates barcode datawith open package structures in the same manner.

A package leaving barcode scanner 32 moves downstream on conveyor belts24 a and 24 c until reaching scale 22. As a package moves over thescale, the package weighs down onto the scale such that one or more loadcells generate signals to the scale processor corresponding to thepackage's weight. The scale assembly has a photodetector (not shown)disposed along conveyor 24 c immediately upstream from the scale. Thescale processor monitors the photodetector's output signal and therebydetermines when the package's front and back edges pass thephotodetector. The scale receives the tachometer output and accumulatesa global tachometer value from a synchronization signal provided by thesystem processor. By associating passage of the package's front and backedges by the photodetector with the tachometer data corresponding to thetime those events occur, the scale processor determines the package'slength. The rate at which the tachometer outputs pulses to the scaledetermines how fast the package is moving through its path of travel,and this, along with the package length, determines the time followingits passage by the photodetector at which the package will have been onthe scale a sufficient time for the scale to validly acquire thepackage's weight. The scale processor accordingly determines when validweight data may be acquired for the package and acquires the weight dataat that point.

The scale processor transmits weight data to the system processor when apackage reaches a predetermined point in the path of travel followingthe scale. After acquiring the package's weight at a point based on thepackage's length and belt speed, the scale processor holds the weightdata until a tachometer value associated with the weight dataaccumulates to a point indicating that the front edge of the package hasmoved from the scale photodetector to the predetermined point downstreamof the scale. The predetermined point is defined so that a weight can beacquired for the longest package the system is expected to handle. Thescale processor then outputs the weight data to the system processor.

Because the scale processor outputs weight data to the scale processorat the same point in the path of travel for each package, it isunnecessary for the scale processor to associate the weight data with atachometer value when transmitting the information to the systemprocessor. The system processor, however, relies on tachometer pulses tocorrectly associate weight data with a package record and so determinesthe accumulated tachometer value at the time the weight data is receivedfrom the scale processor. In this embodiment, the open read window andclose read window scale variables for each open package structure arebased upon an RDV equal to the distance between the dimensioner (at line42) and the predetermined point downstream from the scale. Thus, thesystem processor compares the tachometer value associated with thereceived weight data with the open read window and close read windowvariables for the open package structures it maintains. If thetachometer value is between the open read window scale variable andclose read window scale variable for any open package structure that isnot flagged as non-singulated, the system processor assigns the weightdata to that package record. Because the weight data is transmitted whena package's leading edge reaches the predetermined point, the tachometervalue is expected to fall near the open read window scale variable for agiven package structure, and so in an alternative embodiment, the systemchecks whether the tachometer value is at or within a predeterminedthreshold from the open read window scale variable, rather than within arange between the open and close read window scale variables. If thetachometer value does not fall within the open window and close windowscale variables stored for any singulated open package record, theweight data is not assigned to a package record.

In an alternate embodiment, the scale processor outputs weight data,along with tachometer data corresponding to the distance between thescale photodetector and the point at which the weight data was acquired,to the system processor. The system processor receives the weight dataand assigns to it the present global tachometer value. The open readwindow and close read window scale variables for each open packagestructure correspond to the distance between the dimensioner (at line42) and the scale photodetector, i.e. the scale's RDV. Thus, the systemprocessor subtracts from the tachometer value associated with thereceived weight data the tachometer offset value corresponding to thedistance between the scale photodetector and the point at which thescale processor acquired the weight data and then compares the resultwith the open read window and close read window variables for the openpackage structures. If the resulting value is between the open readwindow scale variable and close read window scale variable for any openpackage structure that is not flagged as non-singulated, the systemprocessor assigns the weight data to that package record. If theresulting tachometer value does not fall within the open window andclose window scale variables stored for any singulated open packagerecord, the weight data is not assigned to a package record.

Because computer 36 bases its decision to acquire weight data for agiven package in part on the determination by dimensioner 28 whether thepackage is singulated with respect to other packages, it is unnecessaryfor human operators to monitor system 10 for non-singulated conditionsand responsively interrupt weight data acquisition by manual means.Instead, system 10 automatically determines singulation and selectivelyacquires weight data based on that automatic determination.

A location (line 30) along conveyor belt 24 b is identified downstreamfrom scale 22 so that when the leading edge of a package reaches thislocation, it can be assumed that accurate weight data will have beenacquired for the package if at all. When computer 36 determines aleading edge of a package has moved beyond line 30 (i.e. when a counterset by the system computer upon receiving the package dimension datafrom dimensioner 28 corresponding to the distance between lines 42 and30 expires), computer 36 closes the package structure within system 10and forwards the package structure to the host system computer. The hostcomputer can then confirm whether shipping charges were correctlyapplied to the package based on its dimensions and weight as determinedby system 10 or, in the event no dimension and/or weight data isassigned to the package, divert the package for manual examination orother processing if desired. If a package structure does not have allexpected data (e.g. weight and barcode data) when the package reachesline 30, the system processor assigns an error variable to the packagestructure prior to transmission to the host.

The conveyor's speed has an impact on the minimum space required betweenpackages for the packages to be considered singulated with respect toscale 22. As speed is increased, a greater distance between packages isgenerally required to settle the scale between weighs. The relationshipbetween speed and package gap should be defined by the scalemanufacturer and is preferably used by the operator of system 10 insetting the parameters for the processor of dimensioner 28 to therebydefine the singulation criteria.

In another embodiment as shown in FIG. 3, scale 22 (FIG. 1) is replacedby two adjacent scales 22 a and 22 b. Scales 22 a and 22 b are connectedto computer 36 such that each scale transmits to computer 36 a signalcorresponding to weight applied to that scale in a manner similar toscale 22, as described above. Scales 22 a and 22 b are identical instructure and operation, and each occupies generally half the width ofconveyor belt 24 b. As shown in FIG. 3A, conveyor belt 24 b may becomprised of separate, parallel driven belts 24 b′ and 24 b″, eachpassing over a respective scale 22 a or 22 b and each preferably drivenby respective sets of rollers 16.

Computer 36 acquires weight data from scales 22 a and 22 b in a mannersimilar to that described above with respect to FIG. 1, except thatweight data can be acquired for non-singulated packages in at least someinstances. Each of the two scale assemblies has a proximityphotodetector (not shown) immediately upstream from the respectivescales. Each proximity photodetector is set to detect passage ofpackages only across the width of the scale to which the photodetectorcorresponds. Proximity photodetectors, and their operation, should beunderstood in this art and are therefore not discussed in furtherdetail.

Each scale processor monitors its photodetector's output signal andthereby determines when a package's front and back edges pass thephotodetector. The scale processors receive tachometer output,respectively determine when valid weight data may be acquired for thepackage on its scale, and acquire the weight data at that point. Thescale processors transmit weight data to the system processor when thepackage leading edge, as determined based on the proximity photodetectorsignal and the tachometer signal, reaches a predetermined downstreampoint, as discussed above. Alternatively, the scale processors outputthe weight data, along with tachometer data corresponding to thedistance between the photodetector and the point at which weight datawas acquired, to the system processor, which adjusts the tachometer datato the photodetector position based on the scale's tachometer data.

The system processor receives the weight data from each scale andassigns to it the present global tachometer value. The open read windowand close read window scale variables for each open package structureare based upon the distance between the dimensioner and thepredetermined point downstream from the scales. Thus, the systemprocessor compares the tachometer value associated with the receivedweight data with the open read window and close read window variablesfor the open package structures. If the tachometer value is between theopen read window scale variable and close read window scale variable forany open package structure that is not flagged as non-singulated (i.e. apackage structure for a singulated package), the system processorassigns the weight data to that package record.

A singulated package may pass over both scales, or just one. If thepackage passes over both scales, the two scale processors may transmitweight data to the system processor at approximately the same time or atslightly different times, depending on the package's orientation on thebelt and the method by which the scales transmit weight data.Regardless, if the system processor detects valid weight data for thesame singulated package from both scales, the processor sums the twoweights and assigns the summed weight to the appropriate packagestructure.

If, however, the tachometer value falls within the open window and closewindow variables of an open package structure that is flagged asnon-singulated, computer 36 examines the scan position values (i.e.lateral, or x-axis positions) of the package's perimeter. Correspondinglateral position values of the perimeter of the scale surface of each ofscale 22 a and 22 b are stored in memory associated with computer 36.Computer 36 compares the lateral position values of the package'sperimeter with the lateral position values of the scale perimeters anddetermines if the package is aligned entirely within the lateralboundaries of the scale 22 a or scale 22 b (i.e. the edges running alongthe sides of the respective scale 22 a or 22 b surface in the y axisdirection, separated laterally from each other in the x-axis direction)from which the weight data was received. That is, computer 36 determineswhether the package's widest lateral dimension is within the relevantscale's widest lateral dimension such that the package passes entirelyover that scale and not the other. If so, and if there is no other opennon-singulated package structure having:

-   -   i. downstream-most and upstream-most points        -   (a) either of which is between the initial tachometer values            of the downstream-most and upstream-most points of the first            non-singulated package, or        -   (b) both of which are outside the initial tachometer values            of the downstream-most and upstream-most points of the first            non-singulated package but either of which is within a            predetermined distance of the nearest downstream-most or            upstream-most point on the first package structure perimeter            that is insufficient to allow the scale to settle at the            given belt speed if both packages pass over the scale; and    -   ii. perimeter scan position values overlapping the perimeter        scan position values of the same scale on which the first        package is disposed,        computer 36 assigns the weight data from the relevant scale to        the package structure for the first package and does not assign        weight data from the other scale to that package structure. If        weight data from the other scale meets the same test with        respect to another package structure, its weight data is        assigned to that other package structure. That is, if computer        36 determines that a non-singulated package is passing over one        of scales 22 a and 22 b, but not the other, and that no other        non-singulated package is or will be on the same scale at the        same time as the first package or at a time close enough to the        first package to prevent acquisition of weight data, computer 36        acquires weight data from that scale even though the package is        non-singulated.

If the resulting tachometer value falls within the open window and closewindow variables of an open package structure that is flagged asnon-singulated, but computer 36 determines that the non-singulatedpackage passes over both scales, or if another non-singulated package isor will be on the same scale at the same time as the first package or ata time close enough to the first package to prevent acquisition ofweight data, computer 36 does not assign the weight data to a packagestructure.

In another preferred embodiment, scales 22 a and 22 b are offset fromeach other in the longitudinal (i.e. y) direction. Each scale stillcovers only its respective half of the width of the belt, but eachoperates with a photodetector that detects passage of objects at anypoint across the width of the belt. The system maintains open and closeread window variables specific to each scale, but otherwise the systemoperates in the same manner as discussed above. Note that while apackage that is entirely on one side of the belt will trigger a weightmeasurement by the scale on the other side, this should result only in azero weight corresponding to that package and should not negativelyaffect system operation.

In still further embodiments, signals from the system processor replacethe proximity photodetectors, which are omitted. When the dimensionertransmits a package structure to the system processor, the systemprocessor examines the package's perimeter and separates the perimeterinto that part disposed on one lateral half of the belt and that partdisposed on the other half of the belt. That is, the system processordetermines what part of the package perimeter will pass over scale 22 aand what part will pass over scale 22 b. The system processorestablishes a start photodetector variable and an end photodetectorvariable for each of the two parts of the perimeter. The startphotodetector variable corresponds to the downstream-most point on thatgiven side, or part, of the perimeter, whereas the end photodetectorvariable corresponds to the upstream-most point on the given perimeterside. Each variable is set to the RDV for the scale over which itscorresponding perimeter part will pass, offset by the longitudinaldistance between its corresponding point and the downstream-most pointon the package. For example, assume a package extends onto both sides ofthe belt, so that one front corner and one back corner of the package ison each side of the belt, and that the package is disposed at an anglewith respect to the belt's centerline so that one of the package cornersis the downstream-most point in the package. Assume also that thiscorner passes over scale 22 a. The start photodetector variable for the“22 a” part of the package is the RDV for scale 22 a. The endphotodetector variable for the 22 a part of the package is the RDV forscale 22 a plus the longitudinal distance (in tachometer pulses) betweenthe downstream-most corner and the upstream-most point on the 22 a partof the package perimeter. The start photodetector variable for the “22b” part of the package perimeter is the RDV for scale 22 b, plus thelongitudinal distance between the downstream-most corner on the 22 apart of the package and the downstream-most point in the 22 b part ofthe package. The end photodetector variable for the 22 b part of thepackage is the RDV for scale 22 b, plus the longitudinal distancebetween the downstream-most corner on the 22 a part and theupstream-most point on the 22 b part of the perimeter.

At each incoming tachometer pulse, the system processor decrements boththe start and end photodetector variables for each part of the packageperimeter, until each variable reaches zero. Thus, when the startphotodetector variable for the 22 a part of a package perimeter reacheszero, the downstream-most point on the part of the package passing overscale 22 a has reached the position in front of the scale at which thephotodetector would otherwise be disposed. When the end photodetectorvariable for the 22 a part of the package perimeter decrements to zero,the upstream-most point on the part of the package passing over scale 22a has reached the “photodetector” position. When the start photodetectorvariable for the 22 b part of a package perimeter reaches zero, thedownstream-most point on the part of the package passing over scale 22 bhas reached the position in front of scale 22 b at which thephotodetector would otherwise be disposed. When the end photodetectorvariable for the 22 b part of the package perimeter decrements to zero,the upstream-most point on the part of the package passing over scale 22b has reached the photodetector position.

When a start photodetector variable for either scale 22 a or scale 22 bdecrements to zero, the system processor checks to see if there is anyother package structure having a zero start photodetector variable and anon-zero end photodetector variable for the same scale. If not, thesystem processor sends a start photodetector signal to that scale'sprocessor, which reacts to the signal as it would to a signal from theproximity photodetector described above responsive to a package leadingedge.

If such a package record does exist, however, there is an overlappingpackage with a leading edge ahead of the present package. Under thesecircumstances, the proximity photodetector would not have been able todistinguish the leading edge of the present package and would not havesent a signal to the scale photodetector. The system processor thereforedoes not send a signal to the scale processor in response to thezero-level of the start photodetector variable.

When an end photodetector variable for either scale 22 a or scale 22 bdecrements to zero, the system processor checks to see if there is anyother package structure having a zero start photodetector variable and anon-zero end photodetector variable for the same scale. If not, thesystem processor sends an end photodetector signal to that scale'sprocessor, which reacts to the signal as it would to a signal from theproximity photodetector described above responsive to a package backedge.

If such a package record does exist, however, there is an overlappingpackage with a back edge behind the back edge of the present package.Under these circumstances, the proximity detector would not have beenable to distinguish the back edge of the present package and would nothave sent a signal to the scale photodector. The system processortherefore does not send a signal to the scale processor in response tothe zero-level of the end photodetector variable.

The system otherwise operates in the same manner as the embodimentdiscussed above with respect to FIG. 3.

In another preferred embodiment, the system processor does notdistinguish between the two parts of a package perimeter in issuingstart and end photodetector signals to the scale processors. The systemprocessor examines each package's perimeter when the package data isreceived from the dimensioner and establishes a start photodetectorvariable and an end photodetector variable for the package structure asa whole. The start photodetector variable corresponds to thedownstream-most point on the entire package perimeter and is equal tothe common RDV for side-by-side scales 22 a and 22 b. The endphotodetector variable corresponds to the upstream-most point on theentire package perimeter, plus the longitudinal distance between thedownstream-most point and the upstream-most point (i.e. the package'slength).

When the start photodetector variable for an open package structuredecrements to zero, the system processor checks to see if there is anyother package structure having a zero start photodetector variable and anon-zero end photodetector variable for the same scale. If not, thesystem processor sends a start photodetector signal to both scaleprocessors, which react to the signal as they would to signals fromtheir proximity photodetectors described above responsive to a packageleading edge.

If such a package record does exist, however, the system processor doesnot send start photodetector signals to the scale processors.

When an end photodetector variable for the open package structuredecrements to zero, the system processor checks to see if there is anyother package structure having a zero start photodetector variable and anon-zero end photodetector variable for the same scale. If not, thesystem processor sends an end photodetector signal to each scaleprocessor, which reacts to the signal as it would to a signal from theproximity photodetector described above responsive to a package backedge.

If such a package record does exist, however, the system processor doesnot send end photodetector signals to the scale processors.

The system otherwise operates in the same manner as the embodimentdiscussed above with respect to FIG. 3. The use of the same start andend photodetector variables for both scales 22 a and 22 b affects thescales' timing in weighing the portions of the packages passing over thescales, but because the overall length of each package should be withinthe maximum length that can be weighed by the scales in any event, thevalidity of the weight data is not affected.

In a still further embodiment, when an a start photodetector variablefor either scale 22 a or scale 22 b (or both, if the start and endvariables are defined for each package structure as a whole, rather thancorresponding to the respective parts of the package structure passingover the scales) decrements to zero, the system processor checks to seeif there is any other open package structure having

-   -   i. downstream-most and upstream-most points        -   (a) either of which is between the initial tachometer values            of the downstream-most and upstream-most points of the first            package, or        -   (b) both of which are outside the initial tachometer values            of the downstream-most and upstream-most points of the first            package but either of which is within a predetermined            distance of the nearest downstream-most or upstream-most            point on the first package structure perimeter that is            insufficient to allow the scale to settle at the given belt            speed if both packages pass over the scale; and    -   ii. perimeter scan position values overlapping the perimeter        scan position values of the relevant scale.        If so, the system processor does not send a start photodetector        signal to that scale's processor and does not send an end        photodetector signal when the package's end photodetector        variable decrements to zero. If there is no such open package        structure, however, the system processor sends a start        photodetector signal to the relevant scale's processor, which        reacts to the signal as it would to a signal from the proximity        photodetector described above responsive to a package leading        edge. In this instance, the system processor sends the scale        processor an end photodetector signal when the package's end        photodetector variable decrements to zero. Because the system        processor checked for interfering packages at the start        photodetector variable, it is not necessary to check again at        the package end. The system otherwise operates in the same        manner as the embodiment discussed above with respect to FIG. 3.

In another embodiment as shown in FIG. 4, an additional scale (22 c) islocated at the underside of conveyor belt 24 d directly downstream fromside-by-side adjacent scales 22 a and 22 b. Scale 22 c spanssubstantially the entire width of conveyor belt 24 d similar to scale 22in FIG. 1 and has a control processor that operates and communicateswith computer 36 in the same manner.

The respective control processors in each of scales 22 a-22 ccontinuously parse the weight signals provided by the one or more loadcells in the respective scales and extract any weight data therefrom.The single-scale assembly has a photodetector (not shown) disposed alongconveyor belt 24 d immediately upstream from scale 22 c. The dual-scaleassembly has respective proximity photodetectors disposed alongconveyors 24 b′ and 24 b″ immediately upstream from respective scales 22a and 22 b. Each scale processor monitors its photodetector's outputsignal and thereby determines when a package's front and back edges passthe photodetector. The scale processors receive the tachometer outputand respectively determine when valid weight data may be acquired for apackage on the scale and acquire the weight data at that point. Thescale processors transmit weight data to the system processor when thepackage leading edges, as determined from the scale photodetectorsignals, reach respective predetermined downstream points, as discussedabove. The system processor receives the weight data and assigns it tothe present global tachometer value. The system processor compares thetachometer value associated with the received weight data with the openand close read window variables for the open package structures. If thetachometer value falls within the open read window variable and closeread window variable of any open package structure that is not flaggedas non-singulated (i.e. if the package is singulated) or as having anerror, and if the weight data was received from scale 22 c, the systemprocessor assigns the weight data to that package record.

If the tachometer value falls within the open read window variable andclose read window variable of any open package structure that is flaggedas non-singulated, and if the weight data was received from scale 22 c,the weight data is not assigned to a package structure.

If the tachometer tachometer value falls within the open read windowvariable and close read window variable of an open package structurethat is flagged as non-singulated, and if the weight data was receivedfrom either of scales 22 a or 22 b, computer 36 examines the scanposition values (i.e. lateral, or x-axis positions) of the package'sperimeter. Corresponding lateral position values of the perimeter of thescale surface of each of scale 22 a and 22 b are stored in memoryassociated with computer 36. Computer 36 compares the lateral positionvalues of the package's perimeter with the lateral position values ofthe two scale perimeters and determines if the package is alignedentirely within the lateral boundaries of the scale 22 a or scale 22 bfrom which the weight data was received. That is, computer 36 determineswhether the package's widest lateral dimension is within the relevantscale's widest lateral dimension such that the package passes entirelyover that scale and not the other. If so, and if there is no other opennon-singulated package structure having:

-   -   i. downstream-most and upstream-most points        -   (a) either of which is between the initial tachometer values            of the downstream-most and upstream-most points of the first            non-singulated package, or        -   (b) both of which are outside the initial tachometer values            of the downstream-most and upstream-most points of the first            non-singulated package but either of which is within a            predetermined distance of the nearest downstream-most or            upstream-most point on the first package structure perimeter            that is insufficient to allow the scale to settle at the            given belt speed if both packages pass over the scale; and    -   ii. perimeter scan position values overlapping the perimeter        scan position values of the same scale on which the first        package is disposed,        computer 36 assigns the weight data from the relevant scale to        the package structure for the first package and does not assign        the weight data from the parallel scale to that package        structure. If weight data from the parallel scale meets the same        test with respect to another package structure, its weight data        is assigned to that other package structure. That is, if        computer 36 determines that a non-singulated package is passing        over one of scales 22 a and 22 b, but not the other, and that no        other non-singulated package is or will be on the same scale at        the same time as the first package or at a time close enough to        the first package to prevent acquisition of weight data,        computer 36 acquires weight data from that scale even though the        package is non-singulated.

If the tachometer value falls within the open window variable and theclose window variable of an open package structure that is flagged asnon-singulated, and if the weight data was received from scales 22 a or22 b, and if computer 36 determines that the non-singulated packagepasses over both scales 22 a and 22 b, or if another non-singulatedpackage is or will be on the same scale 22 a or 22 b at the same time asthe first package or at a time close enough to the first package toprevent acquisition of weight data, computer 36 does not assign theweight data to a package structure.

If the tachometer value falls within the open window variable and theclose window variable of an open package structure that is not flaggedas non-singulated, and if the weight data was received from scales 22 aor 22 b, the weight data is not assigned to a package structure.

As described above with respect to the embodiment of FIG. 3, parallelscales 22 a and 22 b may be longitudinally offset with respect to eachother, and, further, the proximity photodetectors associated with scales22 a and 22 b may be replaced by signals from the system processormimicking the photodetectors' operation.

Still referring to FIG. 4, a location (line 30) along conveyor belt 24 cis identified downstream from scale 22 c so that when the leading edgeof a package passes beyond this location, it is known that weight datahas been acquired for that package (if possible). When computer 36determines a package has moved beyond line 30 (i.e. when a counter setby the system computer upon receiving the package dimension data fromdimensioner 28 corresponding to the distance between lines 42 and 30expires), computer 36 closes the package structure within system 10 andforwards the package structure to the host system computer. The hostcomputer can then confirm whether shipping charges were correctlyapplied to the package based on its dimensions and weight as determinedby system 10 or, if no dimension and/or weight data is assigned to thepackage structure, divert the package for manual examination or otherprocessing if desired.

While one or more preferred embodiments of the invention have beendescribed above, it should be understood that any and all equivalentrealizations of the present invention are included within the scope andspirit thereof. The embodiments depicted are presented by way of exampleonly and are not intended as limitations upon the present invention.Thus, it should be understood by those of ordinary skill in this artthat the present invention is not limited to these embodiments sincemodifications can be made. Therefore, it is contemplated that any andall such embodiments are included in the present invention as may fallwithin the scope and spirit thereof.

1. An apparatus for measuring the weight of items on a conveyorcomprising: a scale that generates a first signal corresponding to theweight of said items as they pass over the scale; a moveable platformthat transports the items to the scale, said moveable platformgenerating a second signal corresponding to a position of the items inrelation to said scale; a dimensioner that examines the itemstransported on the moveable platform and generates a third signalrepresentative of whether the items are singulated or nonsingulated;memory in which said first, said second and said third signals arestored; a processor operatively connected to said scale, saiddimensioner, said memory, and said moveable platform, wherein saidprocessor receives said second and said third signals and determines,based on said second and third signals, whether to associate said firstsignal with information stored in said memory about a particular saiditem based upon whether the particular item is singulated ornonsingulated.
 2. An apparatus for measuring the weight of items on aconveyor, comprising: a conveyor that moves the items in a direction ina path of travel; a scale disposed in the path of travel so that thescale receives the items moving on the conveyor and outputs a firstsignal corresponding to a weight of said items that are received by thescale; a dimensioner disposed proximate the conveyor that detects theitems moving on the conveyor and that outputs a second signal containinginformation describing a location of a boundary of each first item inthe path of travel and relative to locations of other said items in thepath of travel proximate the first item; a processor that receives thefirst signal and the second signal and that determines, based on thelocation of the boundary of the first item in the path of travel, whenthe first signal corresponds to receipt of the first item by the scale,detects, based on the location of the boundary of the first item in thepath of travel relative to respective locations of boundaries of othersaid items proximate the first item, whether the first itemlongitudinally overlaps, with respect to the direction, a second saiditem disposed in the path of travel, acquires a weight from the firstsignal, assigns the acquired weight to a record corresponding to thefirst item based upon determination that the first item has moved in thepath of travel to the scale so that the first signal corresponds toreceipt of the first item by the scale and that the first item does notlongitudinally overlap the second item, and upon determining that thefirst item has moved in the path of travel to the scale so that thefirst signal corresponds to receipt of the first item by the scale andthat the first item longitudinally overlaps the second item, does notassign the acquired weight to the record for the first item.
 3. Theapparatus as in claim 2, wherein the scale extends laterally, withrespect to the direction, substantially across the path of travel. 4.The apparatus as in claim 2, including a first said scale and a secondsaid scale laterally offset from the first scale with respect to thedirection.
 5. The apparatus as in claim 4, wherein a widest lateraldimension of the first scale with respect to the direction does notoverlap a widest lateral dimension of the second scale with respect tothe direction.
 6. The apparatus as in claim 5, wherein the first scaleand the second scale are laterally adjacent to each other.
 7. Theapparatus as in claim 5, including a third said scale longitudinallyoffset from the first scale and the second scale with respect to thedirection, wherein the third scale extends laterally, with respect tothe direction, substantially across the path of travel.
 8. An apparatusfor measuring the weight of items on a conveyor, comprising: a conveyorthat moves the items in a direction in a path of travel; a scaledisposed in the path of travel so that the scale receives the itemsmoving on the conveyor and outputs a first signal corresponding to aweight of said items that are received by the scale; a dimensionerdisposed proximate the conveyor, the dimensioner having a signal sourcethat outputs a second signal with which the items interact as the itemsmove along the path of travel so that when a first said item interactswith the second signal, the second signal carries informationcorresponding to at least one spatial dimension of the first item,wherein the dimensioner produces a third signal that includes theinformation; and a processor that receives the first signal and thethird signal, determines, based on the information, a location of aboundary of the first item in the path of travel and relative tolocations of boundaries of other said items in the path of travelproximate the first item, determines, based on the location of theboundary of the first item in the path of travel, when the first signalcorresponds to receipt of the first item by the scale, and detects,based on the location of the boundary of the first item with respect tothe locations of boundaries of other said items proximate the firstitem, a first condition in which the boundary of the first itemoverlaps, relative to the direction, a boundary of a said other itemthat is received by the scale and a second condition in which theboundary of the first item does not overlap, relative to the direction,the boundary of a said other item that is received by the scale,wherein, upon determining that the first signal corresponds to receiptof the first item by the scale, the processor associates a weightdefined by the first signal with a record corresponding to the firstitem based upon detection of the second condition and does not associatethe weight defined by the first signal with the record when theprocessor detects the first condition.
 9. The apparatus as in claim 8,wherein the processor is comprised of a first processor housed by thedimensioner and a second processor remote from the dimensioner and incommunication with the first processor and the scale, wherein the firstprocessor receives the third signal and determines therefrom thelocation of the boundary of the first item in the path of travel, andthe second processor receives from the first processor the location ofthe boundary of the first item in the path of travel, receives the firstsignal, determines when the first signal corresponds to receipt of thefirst item by the scale, and detects the first condition and the secondcondition.
 10. The apparatus as in claim 8, wherein the processorestablishes a respective said record for each item in the path of travelupon receiving a said second signal indicating presence of said item inthe path of travel.
 11. The apparatus as in claim 8, wherein theconveyor outputs a fourth signal to the processor, the fourth signalindicating a rate at which the items move in the path of travel, whereinthe processor determines when the first signal corresponds to receipt ofthe first item by the scale based on a value of the fourth signal whenthe first item is at a predetermined reference position in the path oftravel and a value of the fourth signal when the processor receives thefirst signal.
 12. The apparatus as in claim 8, wherein the scale extendslaterally, with respect to the direction, substantially across the pathof travel.
 13. The apparatus as in claim 8, including a first said scaleand a second said scale laterally offset from the first scale withrespect to the direction.
 14. The apparatus as in claim 13, wherein awidest lateral dimension of the first scale with respect to thedirection does not overlap a widest lateral dimension of the secondscale with respect to the direction.
 15. The apparatus as in claim 14,wherein the first scale and the second scale are laterally adjacent toeach other.
 16. The apparatus as in claim 15, including a third saidscale longitudinally offset from the first scale and the second scalewith respect to the direction, wherein the third scale extendslaterally, with respect to the direction, substantially across the pathof travel.
 17. An apparatus for measuring the weight of items on aconveyor, comprising: a conveyor that moves the items in a direction ina path of travel; a scale disposed in the path of travel so that thescale receives the items moving on the conveyor and outputs a firstsignal corresponding to a weight of said items that are received by thescale; a dimensioner disposed proximate the conveyor, the dimensionerhaving a signal source that outputs a second signal with which the itemsinteract as the items move along the path of travel so that when a firstsaid item interacts with the second signal, the second signal carriesinformation corresponding to at least one spatial dimension of the firstitem, wherein the dimensioner produces a third signal that includes theinformation; a first processor that receives the third signal anddetermines, based on the information, a location of a boundary of thefirst item in the path of travel; and a second processor that receivesthe first signal, receives from the first processor the location of theboundary of the first item in the path of travel and establishes arecord for the first item, determines, based on the location of theboundary of the first item in the path of travel, when the first signalcorresponds to receipt of the first item by the scale, detects, based onthe location of the boundary of the first item in the path of travelrelative to respective locations of boundaries of other said itemsproximate the first item, whether the first item longitudinallyoverlaps, with respect to the direction, a second said item disposed inthe path of travel or is separated longitudinally from a said seconditem within a predetermined longitudinal distance that inhibitsacquisition of weight of the first item from the first signal, andacquires a weight of the first item from the first signal, and assignsthe acquired weight to the record for the first item, when the secondprocessor determines that the first item has moved in the path of travelto the scale so that the first signal corresponds to receipt of thefirst item by the scale, the first item does not longitudinally overlapthe second item, and the second item is not within the predeterminedlongitudinal distance from the first item.
 18. The apparatus as in claim17, wherein the scale extends laterally, with respect to the direction,substantially across the path of travel.
 19. The apparatus as in claim17, including a first said scale and a second said scale laterallyoffset from the first scale with respect to the direction.
 20. Theapparatus as in claim 19, wherein a widest lateral dimension of thefirst scale with respect to the direction does not overlap a widestlateral dimension of the second scale with respect to the direction. 21.The apparatus as in claim 20, wherein the first scale and the secondscale are laterally adjacent to each other.
 22. The apparatus as inclaim 21, including a third said scale longitudinally offset from thefirst scale and the second scale with respect to the direction, whereinthe third scale extends laterally, with respect to the direction,substantially across the path of travel.
 23. The apparatus as in claim22, wherein the second processor acquires a weight of the first itemfrom the first signal from the first scale, does not acquire a weight ofthe first item from the second scale or the third scale, and assigns theacquired weight from the first scale to the record for the first item,when the first item has moved in the path of travel to the first scaleso that the first signal from the first scale corresponds to weight ofthe first item, the first item does not longitudinally overlap thesecond item disposed in the path of travel so that the second item isreceived by the first scale, the last-mentioned second item is notwithin the predetermined longitudinal distance from the first item, andthe first item longitudinally overlaps a third said item or is withinthe predetermined longitudinal distance from the third item, wherein thethird item is not received by the first scale in the path of travel, thesecond processor acquires a weight of the first item from the firstsignal from the second scale, does not acquire a weight of the firstitem from the first scale or the third scale, and assigns the acquiredweight from the second scale to the record for the first item, when thefirst item has moved in the path of travel to the second scale so thatthe first signal corresponds to weight of the first item, the first itemdoes not longitudinally overlap the second item disposed in the path oftravel so that the second item is received by the second scale, thelast-mentioned second item is not within the predetermined longitudinaldistance from the first item, and the first item longitudinally overlapsa fourth said item or is within the predetermined longitudinal distancefrom the fourth item, wherein the fourth item is not received by thesecond scale in the path of travel, and the second processor acquires aweight of the first item from the first signal from the third scale,does not acquire a weight of the first item from the first signal fromthe first scale or the second scale, and assigns the acquired weightfrom the third scale to the record for the first item, when the firstitem has moved in the path of travel to the third scale so that thefirst signal from the third scale corresponds to weight of the firstitem, the first item does not longitudinally overlap the second itemdisposed in the path of travel so that the second item is received bythe third scale, and the last-mentioned second item is not within thepredetermined longitudinal distance from the first item.
 24. A methodfor measuring the weight of items being moved on a conveyor in adirection in a path of travel, comprising the steps of: providing ascale disposed in the path of travel so that the scale receives theitems moving on the conveyor and outputs a first signal corresponding toa weight of said items that are received by the scale; determining atleast one spatial dimension of a first said item; determining, based onthe at least one spatial dimension, a location of a boundary of thefirst item in the path of travel and relative to locations of boundariesof other said items in the path of travel proximate the first item;determining, based on the location of the boundary of the first item inthe path of travel, when the first signal corresponds to receipt of thefirst item by the scale; detecting, based on the location of theboundary of the first item with respect to the locations of boundariesof other said items proximate the first item, a first condition in whichthe boundary of the first item overlaps, relative to the direction, aboundary of a said other item that is received by the scale and a secondcondition in which the boundary of the first item does not overlap,relative to the direction, the boundary of a said other item that isreceived by the scale; and upon determining that the first signalcorresponds to receipt of the first item by the scale, associating aweight defined by the first signal with a record corresponding to thefirst item based upon detection of the second condition and notassociating the weight defined by the first signal with the record upondetecting the first condition.